A traditional use of automatic gain control (AGC) is in an 1M radio receiver. Here, AGC is used to vary the gain of the receiver such that the output signal has an approximately constant value. This allows the receiver to operate relatively independently of the power and distance of the transmitter and to limit the effects of signal fluctuations caused by fading in the signal strength due to environmental factors.
AGC also finds use in other applications where it is desired to compress the dynamic range of a signal for transmission over a band-limited channel. AGC has the advantage over coding a signal (for example, using orthogonal frequency division multiplexing or similar techniques) that despite the fact that the coded signal can carry more information in a given time period, a signal can be compressed by AGC in real time (i.e. without introducing a delay) and bears a strong correlation to the original signal. Thus, the subjective quality of the signal is high, and it can be used as the source of audio output, for example.
An automatic gain controller will be designed to vary an amplifier's gain in response to a predefined condition (for example, gain may be limited in response to the average output signal exceeding a threshold). The AGC response is defined by two time constants: the attack time and the release time. The attack time determines how quickly the AGC responds to a high average output signal level by reducing the amplifier's gain. The release time determines how quickly the AGC allows the gain to recover to its nominal level once a transient high average output signal level has passed. Different values of these constants will be appropriate for different signal types, such as speech and music.
The decrease in gain during the attack phase is a trade-off between fast response (i.e. a quick attack) and audibility, the attack becoming more audible as the response time shortens. A fast drop in gain is acceptable for some signals, whereas for others it is not.
With respect to the release or decay phase, a long duration can lead to an unacceptable “pumping” effect, whereas an overly short release phase can cause the attack phase to initiate again, leading to the production of idle tones as the AGC cycles between attack and release phases periodically.
Typically, the attack and release time constants need to be set in the design of the automatic gain controller and cannot easily be adjusted. This makes it difficult to produce an AGC that can be used with different types of signal.
U.S. Pat. No. 5,912,977 discloses an AGC for use in a hearing aid that has a decay time constant switchable between two values depending on the amplitude of an amplifier's output. However, this is limited to a long time constant to reduce total harmonic distortion introduced by the AGC when the signal level is high and a short time constant when the signal level is low, which is required so that the amplifier of the hearing aid recovers quickly to a high value to amplify the low level signals sufficiently.
Furthermore, other signal processing algorithms such as noise cancellation and echo cancellation do not work well with AGC since they cannot detect the rapid gain changes that have been imposed by the automatic gain controller from the signal alone.